[INFO] fetching crate tree_decorator 0.1.2...
[INFO] fixing tree_decorator-0.1.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] extracting crate tree_decorator 0.1.2 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate tree_decorator 0.1.2
[INFO] finished tweaking crates.io crate tree_decorator 0.1.2
[INFO] tweaked toml for crates.io crate tree_decorator 0.1.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tree_decorator 0.1.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 27 packages to latest compatible versions
[INFO] [stderr]       Adding simple_logger v1.16.0 (available: v5.2.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded colored v1.9.4
[INFO] [stderr]   Downloaded simple_logger v1.16.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0fd778e4af23f2c46c3cd41726c3c6955d95a3ae4e8faf69649b84de39c87951
[INFO] running `Command { std: "docker" "start" "0fd778e4af23f2c46c3cd41726c3c6955d95a3ae4e8faf69649b84de39c87951", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0fd778e4af23f2c46c3cd41726c3c6955d95a3ae4e8faf69649b84de39c87951" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0fd778e4af23f2c46c3cd41726c3c6955d95a3ae4e8faf69649b84de39c87951", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0fd778e4af23f2c46c3cd41726c3c6955d95a3ae4e8faf69649b84de39c87951" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling time-macros v0.2.30
[INFO] [stderr]     Checking tree_decorator v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking colored v1.9.4
[INFO] [stdout] warning: field `style` is never read
[INFO] [stdout]    --> src/element_handler.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct Block {
[INFO] [stdout]     |        ----- field in this struct
[INFO] [stdout] 111 |     pub representation: String,
[INFO] [stdout] 112 |     pub style: Style
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         &mut ELEMENT_HANDLER
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 167 |         &raw mut ELEMENT_HANDLER
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/element_handler.rs:40:24
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let item = crate::DECORATOR.item(crate::LEVEL, s);
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/element_handler.rs:43:33
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 let block_len = crate::DECORATOR.block_length();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/element_handler.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let block_len = crate::DECORATOR.block_length();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/element_handler.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 crate::DECORATOR.previous_item_block(crate::LEVEL, style)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking time v0.3.51
[INFO] [stderr]     Checking simple_logger v1.16.0
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> tests/test_output.rs:21:47
[INFO] [stdout]    |
[INFO] [stdout] 21 | ...                   if let Some(b) = &BUFFER {
[INFO] [stdout]    |                                        ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 21 |                              if let Some(b) = &raw const BUFFER {
[INFO] [stdout]    |                                                +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 10 - static mut BUFFER: Option<RefCell<String>> = None;
[INFO] [stdout] 10 + static BUFFER: Option<RefCell<String>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_output.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     tree_item!(block, "Root");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let _ = tree_item!(block, "Root");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_output.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         tree_item!(entry, "Item A");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let _ = tree_item!(entry, "Item A");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_output.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         tree_item!(entry: Entry::None, "Small Description");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let _ = tree_item!(entry: Entry::None, "Small Description");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_output.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         tree_item!(dashed, "Other Small Description");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let _ = tree_item!(dashed, "Other Small Description");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_output.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         tree_item!(last; block, "Item B");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let _ = tree_item!(last; block, "Item B");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_output.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             tree_item!("Item Ba");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let _ = tree_item!("Item Ba");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_output.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             tree_item!(block, "Item Bb");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let _ = tree_item!(block, "Item Bb");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_output.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 tree_item!(last, "Item Bba");
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let _ = tree_item!(last, "Item Bba");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_output.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             tree_item!(last, "Item Bc");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let _ = tree_item!(last, "Item Bc");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> tests/test_output.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if let Some(b) = &BUFFER {
[INFO] [stdout]    |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if let Some(b) = &raw const BUFFER {
[INFO] [stdout]    |                           +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 10 - static mut BUFFER: Option<RefCell<String>> = None;
[INFO] [stdout] 10 + static BUFFER: Option<RefCell<String>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `style` is never read
[INFO] [stdout]    --> src/element_handler.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct Block {
[INFO] [stdout]     |        ----- field in this struct
[INFO] [stdout] 111 |     pub representation: String,
[INFO] [stdout] 112 |     pub style: Style
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         &mut ELEMENT_HANDLER
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 167 |         &raw mut ELEMENT_HANDLER
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/element_handler.rs:40:24
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let item = crate::DECORATOR.item(crate::LEVEL, s);
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/element_handler.rs:43:33
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 let block_len = crate::DECORATOR.block_length();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/element_handler.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let block_len = crate::DECORATOR.block_length();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/element_handler.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 crate::DECORATOR.previous_item_block(crate::LEVEL, style)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_items_level.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     tree_item!(block, "Root");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = tree_item!(block, "Root");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_items_level.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         tree_item!("Item A");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let _ = tree_item!("Item A");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_items_level.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         tree_item!("Small Description");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let _ = tree_item!("Small Description");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_items_level.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         tree_item!("Other Small Description");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let _ = tree_item!("Other Small Description");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_items_level.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         tree_item!(last; block, "Item B");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let _ = tree_item!(last; block, "Item B");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_items_level.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             tree_item!("Item Ba");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 20 |             let _ = tree_item!("Item Ba");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_items_level.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             tree_item!(block, "Item Bb");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let _ = tree_item!(block, "Item Bb");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_items_level.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 tree_item!(last, "Item Bba");
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 let _ = tree_item!(last, "Item Bba");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_items_level.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             tree_item!(last, "Item Bc");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let _ = tree_item!(last, "Item Bc");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:20:47
[INFO] [stdout]    |
[INFO] [stdout] 20 | ...                   if let Some(b) = &BUFFER {
[INFO] [stdout]    |                                        ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 20 |                              if let Some(b) = &raw const BUFFER {
[INFO] [stdout]    |                                                +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout]  9 - static mut BUFFER: Option<RefCell<String>> = None;
[INFO] [stdout]  9 + static BUFFER: Option<RefCell<String>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     tree_item!(block, "Very Nested Items");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let _ = tree_item!(block, "Very Nested Items");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.33s
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     tree_item!("A");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let _ = tree_item!("A");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     tree_item!(block, "B");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let _ = tree_item!(block, "B");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         tree_item!(block; last, "B.a");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let _ = tree_item!(block; last, "B.a");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             tree_item!("B.a.a");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |             let _ = tree_item!("B.a.a");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             tree_item!("B.a.b");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |             let _ = tree_item!("B.a.b");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             tree_item!("B.a.c");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let _ = tree_item!("B.a.c");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             tree_item!(block, "B.a.c");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let _ = tree_item!(block, "B.a.c");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: all finished
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 tree_item!("B.a.c.a");
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let _ = tree_item!("B.a.c.a");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 tree_item!("B.a.c.b");
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 let _ = tree_item!("B.a.c.b");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 tree_item!(last, "B.a.c.c");
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 let _ = tree_item!(last, "B.a.c.c");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             tree_item!(last, "B.a.d");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 46 |             let _ = tree_item!(last, "B.a.d");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     tree_item!("C");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let _ = tree_item!("C");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     tree_item!("D");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let _ = tree_item!("D");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     tree_item!("E");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let _ = tree_item!("E");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_str` that must be used
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     tree_item!(last, "F");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let _ = tree_item!(last, "F");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> tests/test_multiple_nested_levels.rs:58:26
[INFO] [stdout]    |
[INFO] [stdout] 58 |         if let Some(b) = &BUFFER {
[INFO] [stdout]    |                          ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 58 |         if let Some(b) = &raw const BUFFER {
[INFO] [stdout]    |                           +++++++++
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout]  9 - static mut BUFFER: Option<RefCell<String>> = None;
[INFO] [stdout]  9 + static BUFFER: Option<RefCell<String>> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0fd778e4af23f2c46c3cd41726c3c6955d95a3ae4e8faf69649b84de39c87951", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0fd778e4af23f2c46c3cd41726c3c6955d95a3ae4e8faf69649b84de39c87951", kill_on_drop: false }`
[INFO] [stdout] 0fd778e4af23f2c46c3cd41726c3c6955d95a3ae4e8faf69649b84de39c87951
